<?php
/**
 * Роутер (облегченный)
 * 
 * Класс для работы с урлом
 * @author Anton Zavidov
 * @package myLiveShop
 */

/**
 * Класс для работы с урлом
 *
 */
class Router_lite extends Base {
	const LANG = 'LANG';
	const CONTROLLER = 'CONTROLLER';
	const VIEW = 'VIEW';
	const VIEW_TYPE = 'VIEW_TYPE';
	const CUSTOM = 'CUSTOM';
	const SHOP = 'SHOP';
	const SHOP_ID = 'SHOP_ID';
    const HELPER = 'HELPER';
	
	private $no_shop_list=array('myliveshop','www');
	/**
	 * Констуктор
	 *
	 * @param string $className имя роутера
	 */
	public function __construct($className=null){		
		parent::__construct($className?$className:__CLASS__);
		return $this->parse();
	}
	/**
	 * Разбор урла
	 * 
	 * @return boolean
	 *
	 */
	private function parse(){
		$url_srt=$_REQUEST['route'];
		$url_srt=preg_replace('/[^\.\%\/|:@0-9A-Z_-]/im','',$url_srt);
		$url=explode('/',$url_srt,3);
        $this->checkLang($url, $url_srt);
		
		$shop=explode('.',$_SERVER['HTTP_HOST'],2);
		$shop=in_array($shop[0],$this->no_shop_list)?false:$shop[0];
		///>
		//$shop="ac";
		///<
		Vars::_(self::SHOP , $shop);
		Vars::_(self::CONTROLLER , isset($url[0])&&$url[0]?$url[0]:Config::_($shop?'shop_controller':'default_controller'));
		//тут мы проверяем если второй параметр число то подставляем вьюху для просмотря тоесть меняем
		// /tag/18 на /tag/display/18
		if(isset($url[1])&&$url[1]&&is_numeric($url[1])){
		    $url[2]=$url[1].(isset($url[2])&&$url[2]?'/'.$url[2]:'');
		    $url[1]=Config::_('default_display');
		}
		Vars::_(self::VIEW , isset($url[1])&&$url[1]?$url[1]:Config::_($shop?'shop_view':'default_view'));
		Vars::_(self::CUSTOM  , isset($url[2])&&$url[2]?$url[2]:'');
		return true;
	}
    private function checkLang(&$url, &$url_srt){
        if(strlen($url[0])>4) return;
        import('core.db.mysql');
        import('core.model');
        global $db;
        $db=Core::getDB();
        if(Core::checkLang($url[0])){
			Core::setLang($url[0]);
			$url_srt=substr($url_srt,strlen($url[0]));
			$url=explode('/',$url_srt,3);
		}
    }
}

class Router extends Router_lite {
}
